$NG.AllReady(function (
    editPage,
    { useAction, useValuesChange, useUpdateRows, useUpdateRow, useDataIndexChange, useClick }
) {
    const mstform = $NG.getCmpApi("p_form_employ_salary")
	const dgrid1 = $NG.getCmpApi("p_form_employ_salary_d")
    // 项目监听
    useValuesChange(({args})=>{
        getProjectInfo()
        cntMFilter()
    },"p_form_employ_salary.phid_pc")
    // 合同监听
    useValuesChange(({args})=>{
        console.log(`合同监听`, args);
        getCntInfo()
    },"p_form_employ_salary.u_cnt_name")
    // 表格编辑监听
    useUpdateRow(({args})=>{
        autoInNameToPhid(args[0])
        args[0].u_total_tax = (Number(args[0].u_total)*1.0672 + Number(args[0].u_manage_amt)) || 0
        dgrid1.refreshView()
    }, "p_form_employ_salary_d")

    // 表格行为监听
    useUpdateRows(({args})=>{
        sum()
    }, "p_form_employ_salary_d")

    // 根据项目带编码：表格
    function autoInNameToPhid(item){
        console.log(`表格编辑监听`, item);
        // 查询相应项目的信息
        getProjectInfo(true, item.u_pc_name,(_data)=>{
            if(_data){
                item.u_pc_no = _data.phid_pc
                item.u_pc_no_EXName = _data.pc_no
            }
            dgrid1.refreshView()
        })
    }

    // 汇总含税金额
    function sum (){
        const _row = dgrid1.getRows()
        let _count = 0;
        _row.forEach(element => {
            _count += (Number(element.u_total)*1.0672 + Number(element.u_manage_amt)) || 0
        });
        $NG.updateState((updater)=>{
            updater.data.p_form_employ_salary.setProps({
                u_total_amt:_count
            })
        })
    }

    // 获取项目
    function getProjectInfo(isReturn = false, phid = mstform.getItem("phid_pc").getValue(), fun){
        try{
            setTimeout(()=>{
                $NG.execServer("getPtInfoByPhid",{phid: phid}, (res)=>{
                    const _data = JSON.parse(res.data)[0].extendObjects
                    console.log(`获取项目信息`, _data);
                    if(isReturn){
                        fun(_data)
                    } else {
                        $NG.updateState((updater)=>{
                            updater.data.p_form_employ_salary.setProps({
                                u_pc_no: _data.pc_no, //项目编码
                                u_devision: {
                                    //事业部or组织
                                    value: _data.org_phid,
                                    label: _data.org_name,
                                },
                                phid_emp:{
                                    label:_data.project_manager_name,
                                    value:_data.project_manager_phid
                                },
                                u_sqgw: {
                                    //售前顾问
                                    value: _data.user_sqgw_phid,
                                    label: _data.user_sqgw_name,
                                },
                                u_regional_center: {
                                    //区域中心
                                    value: _data.regional_center_phid,
                                    label: _data.regional_center_name,
                                },
                                u_product_line: {
                                    //产品线
                                    value: _data.midwife_phid,
                                    label: _data.midwife_name,
                                },
                                u_dept: {
                                    //部门
                                    value: _data.dept_phid,
                                    label: _data.dept_name,
                                },
                                u_pc_type: {//项目类型
                                    value: _data.type_phid,
                                    label: _data.type_name,
                                },
                            })
                        })
                    }
                })
            },100)
        }catch(err){
            $NG.alert("获取项目信息发生失败请检查~")
        }
    }

    //合同根据项目ID过滤
function cntMFilter() {
    $NG.updateUI((updater, state) => {
        console.log('过滤参数检查', updater);
        updater.form.p_form_employ_salary.u_cnt_name.setProps({
            onBeforeOpen: async () => {
                var phid_pc = $NG.getCmpApi('p_form_employ_salary').getItem('phid_pc').getValue();
                if (!phid_pc) {
                    $NG.alert("请先选择项目");
                    return false;
                } else {
                    return true;
                }
            },
            ...(!!$NG.getCmpApi('p_form_employ_salary').getItem('phid_pc').getValue() && {
                clientSqlFilter: {
                    xm_no: $NG.getCmpApi('p_form_employ_salary').getItem('phid_pc').getValue()
                }
            }),
        });
    });
}

    // 获取合同信息
	function getCntInfo(){
        $NG.execServer(
            "GetWbhtInfo",
            { phid: mstform.getItem("u_cnt_name").getValue() },
            function (res) {
                const datas = JSON.parse(res.data)[0].extendObjects;
                console.log(`合同：`,datas);
                //帮助字段赋值
                $NG.updateState((updater) => {
                    updater.data.p_form_employ_salary.setProps({
                        u_cnt_no:datas.bill_no,
                        phid_supply_ent:{
                            label:datas.wbgs_name,
                            value:datas.wbgs
                        }
                    });
                });
            }
        );
    }
});